import React, { createContext } from 'react';

const GrandContext = React.createContext({
  name: 'context 创建的数据'
});

export default GrandContext;

/**
 * !数组去重
 * @param {*} data 全部的数据
 * @returns 返回去重后的数组
 */
export const collectionArray = data => {
  return Array.from(data.reduce((map, obj) => map.set(obj.identity, obj), new Map())).map(n => n[1]);
};

/**
 * !数组交集
 * @param {*} allList 全部的数组列表
 * @param {*} excludeList 需要排除的数组列表
 * @returns 返回数组的交集
 */
export const intersectArray = (allList, excludeList) => {
  return allList.reduce((result, obj) => {
    if (!excludeList.find(o => o.id === obj.id)) {
      result.push(obj);
    }
  }, []);
};
